//// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//// PARTICULAR PURPOSE.
////
//// Copyright (c) Microsoft Corporation. All rights reserved

#pragma once

// Sphere:
// This class is a specialization of GameObject that represents a sphere primitive.
// The sphere is defined by a 'position' and radius.

#include "GameObject.h"

ref class Sphere: public GameObject
{
internal:
	Sphere();
	Sphere(DirectX::XMFLOAT3 pos, float radius);

	virtual void Radius(float radius);
	float Radius();

	float m_radius;
private:
};

__forceinline void Sphere::Radius(float radius)
{
	m_radius = radius;
}

__forceinline float Sphere::Radius()
{
	return m_radius;
}